package javase2.day05.demo01;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
java.long.Throwable:类是java语言中所有错误或者异常的超类
    Exception：编译期异常，进行编译时程序出现的问题
        RuntimeException：运行期异常，java程序运行过程中出现的问题
        异常相当于程序有一个小毛病，把异常处理掉，程序可以继续执行
    Error：错误
        错我相当于程序得了绝症，必须修改源代码，程序才能执行。比如栈运行溢出
 */
public class Demo01Exception {
    public static void main(String[] args) /*【1交给虚拟机处理】throws ParseException */{
        //编译期异常
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date date=null;
        Date parse = null;//java.text.ParseException: Unparseable date: "20211113"

        //【2自己处理】tey-catch好处；处理异常后，程序正常执行
        try {
            parse = sdf.parse("2021-1-13");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(parse);
        System.out.println("后续代码");

        //错误.必须修改源代码处理错误
        int[] arr=new int[123456*73872467];
        System.out.println(arr);
        //java.lang.OutOfMemoryError: Java heap space
    }
}
